ASP.Net Core এ Multiple Language Support

Microsoft Technologies - ডট নেট কোর (Dot.Net Core) ASP.Net Core WebSockets এবং গ্লোবালাইজেশন (Localization and Globalization) |
226
226

ASP.NET Core অ্যাপ্লিকেশনগুলিতে Multiple Language Support বা একাধিক ভাষার সমর্থন যুক্ত করা একটি গুরুত্বপূর্ণ ফিচার, বিশেষ করে আন্তর্জাতিক ব্যবহারকারীদের জন্য। ASP.NET Core ইন্টারন্যাশনালাইজেশন (Internationalization) এবং লোকালাইজেশন (Localization) এর সুবিধা দিয়ে বিভিন্ন ভাষায় অ্যাপ্লিকেশন কনটেন্ট প্রদর্শন করতে সাহায্য করে।

Localization হল এক বা একাধিক ভাষায় অ্যাপ্লিকেশন কনটেন্টের প্রদর্শন, যেখানে Internationalization হল অ্যাপ্লিকেশনকে এমনভাবে তৈরি করা যাতে তা বিভিন্ন ভাষা এবং অঞ্চলের জন্য কাস্টমাইজ করা যায়।

ASP.NET Core এ Localization সাপোর্ট যোগ করতে, কিছু কনফিগারেশন এবং কোড পরিবর্তন করা দরকার।


ASP.NET Core এ Localization কনফিগারেশন

১. প্রয়োজনীয় NuGet প্যাকেজ ইনস্টল করা

প্রথমে, Localization এর জন্য Microsoft.Extensions.Localization এবং Microsoft.AspNetCore.Localization প্যাকেজগুলো ইনস্টল করতে হবে। আপনি যদি NuGet Package Manager ব্যবহার করেন, তাহলে নিচের কমান্ড দিয়ে প্যাকেজ ইনস্টল করুন:

dotnet add package Microsoft.Extensions.Localization
dotnet add package Microsoft.AspNetCore.Localization

২. Startup.cs ফাইলে Localization কনফিগারেশন

Localization সক্রিয় করার জন্য Startup.cs ফাইলে কিছু কনফিগারেশন করা হয়।

ConfigureServices মেথডে Localization কনফিগারেশন
public void ConfigureServices(IServiceCollection services)
{
    services.AddLocalization(options => options.ResourcesPath = "Resources");

    services.AddMvc()
            .AddDataAnnotationsLocalization()
            .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix);
}

এখানে, AddLocalization মেথডটি ResourcesPath দিয়ে Resources ফোল্ডারটি নির্ধারণ করে, যেখানে বিভিন্ন ভাষার ফাইল সংরক্ষিত হবে। AddViewLocalizationAddDataAnnotationsLocalization মেথডগুলো ভিউ এবং ডেটা অ্যানোটেশন লকালাইজেশন সাপোর্ট যোগ করে।

Configure মেথডে Localization কনফিগারেশন
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    var supportedCultures = new[] { "en-US", "fr-FR", "es-ES" };

    app.UseRequestLocalization(new RequestLocalizationOptions
    {
        DefaultRequestCulture = new RequestCulture("en-US"),
        SupportedCultures = supportedCultures.Select(c => new CultureInfo(c)).ToArray(),
        SupportedUICultures = supportedCultures.Select(c => new CultureInfo(c)).ToArray()
    });

    app.UseMvc();
}

এখানে, supportedCultures এর মাধ্যমে আপনি যে ভাষাগুলো সমর্থন করবেন তা নির্দিষ্ট করেছেন। DefaultRequestCulture হল ডিফল্ট ভাষা যা অ্যাপ্লিকেশন শুরু হলে ব্যবহার হবে।


ভাষা রিসোর্স ফাইল তৈরি

প্রতিটি ভাষার জন্য একটি রিসোর্স ফাইল তৈরি করতে হবে। Resources ফোল্ডারের মধ্যে ভাষার নাম দিয়ে একটি .resx ফাইল তৈরি করুন। উদাহরণস্বরূপ:

  • Resources/Views/Home/Index.en-US.resx (English)
  • Resources/Views/Home/Index.fr-FR.resx (French)
  • Resources/Views/Home/Index.es-ES.resx (Spanish)

এই ফাইলগুলোর মধ্যে আপনি ভাষানুযায়ী কনটেন্ট সংরক্ষণ করবেন।

উদাহরণস্বরূপ, Index.en-US.resx:

KeyValue
WelcomeTextWelcome to our website!

Index.fr-FR.resx:

KeyValue
WelcomeTextBienvenue sur notre site!

কনট্রোলার ও ভিউতে Localization ব্যবহার

আপনি আপনার কনট্রোলার এবং ভিউতে Localization ব্যবহার করতে পারেন। কনট্রোলারে, আপনি IStringLocalizer ইনজেক্ট করে নির্দিষ্ট ভাষায় কনটেন্ট রিটার্ন করতে পারবেন।

কনট্রোলারে Localization ব্যবহার

using Microsoft.Extensions.Localization;

public class HomeController : Controller
{
    private readonly IStringLocalizer<HomeController> _localizer;

    public HomeController(IStringLocalizer<HomeController> localizer)
    {
        _localizer = localizer;
    }

    public IActionResult Index()
    {
        ViewData["WelcomeMessage"] = _localizer["WelcomeText"];
        return View();
    }
}

এখানে, _localizer["WelcomeText"] দ্বারা রিসোর্স ফাইল থেকে ভাষা অনুযায়ী কনটেন্ট লোড করা হচ্ছে।

ভিউতে Localization ব্যবহার

ভিউতে ভাষার কনটেন্ট ব্যবহার করার জন্য @Localizer এবং @ViewData ব্যবহার করা যেতে পারে:

<h2>@ViewData["WelcomeMessage"]</h2>

এখানে, WelcomeText কনটেন্টটি স্বয়ংক্রিয়ভাবে নির্দিষ্ট ভাষা অনুযায়ী প্রদর্শিত হবে।


ভাষা পরিবর্তন করার জন্য ইউআরএল পদ্ধতি

আপনি ব্যবহারকারীদের জন্য ভাষা পরিবর্তনের ফিচারও প্রদান করতে পারেন। সাধারণত, ভাষা পরিবর্তন করা হয় Query String বা Route Data এর মাধ্যমে।

ভাষা পরিবর্তন করার জন্য ইউআরএল কনফিগারেশন

app.UseRequestLocalization(new RequestLocalizationOptions
{
    DefaultRequestCulture = new RequestCulture("en-US"),
    SupportedCultures = supportedCultures.Select(c => new CultureInfo(c)).ToArray(),
    SupportedUICultures = supportedCultures.Select(c => new CultureInfo(c)).ToArray(),
    RequestCultureProviders = new[] {
        new QueryStringRequestCultureProvider()
    }
});

এখানে, আপনি Query String এর মাধ্যমে ভাষা পরিবর্তন করতে পারবেন, যেমন: ?culture=fr-FR.


সারাংশ

ASP.NET Core-এ Multiple Language Support যোগ করার মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনকে আন্তর্জাতিক ব্যবহারকারীদের জন্য উপযোগী করে তুলতে পারবেন। Localization এবং Internationalization এর মাধ্যমে আপনার অ্যাপ্লিকেশন একাধিক ভাষায় কনটেন্ট প্রদর্শন করতে সক্ষম হয়। এটি একটি সিম্পল প্রক্রিয়া, যেখানে রিসোর্স ফাইল তৈরি করা হয় এবং সেই অনুযায়ী কনটেন্ট প্রদর্শন করা হয়। এছাড়া, ক্লায়েন্টকে ভাষা পরিবর্তনের সুবিধা দেওয়ার মাধ্যমে ইউজার এক্সপেরিয়েন্স আরও উন্নত করা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion